Runtime Function Instrumentation with EZTrace
نویسندگان
چکیده
High-performance computing relies more and more on complex hardware: multiple computers, multi-processor computer, multi-core processing unit, multiple general purpose graphical processing units... To efficiently exploit the power of current computing architectures, modern applications rely on a high level of parallelism. To analyze and optimize these applications, tracking the software behavior with minimum impact on the software is necessary to extract time consumption of code sections as well as resource usage (e.g., network messages). In this paper, we present a method for instrumenting functions in a binary application. This method permits to collect data at the entry and the exit of a function, allowing to analyze the execution of an application. We implemented this mechanism in EZTrace and the evaluation shows a significant improvement compared to other tools for instrumentation.
منابع مشابه
Performance Analysis on Energy E cient High-Performance Architectures
With the shift in high-performance computing (HPC) towards energy e cient hardware architectures such as accelerators (NVIDIA GPUs) and embedded systems (ARM processors), arose the need to adapt existing performance analysis tools to these new systems. We present EZTrace a performance analysis framework for parallel applications. EZTrace relies on several core components, in particular on a mec...
متن کاملCounting performance: hardware performance counter and compiler instrumentation
Analyzing applications for their runtime behavior, especially in the light of ef®cient resource utilization, involves iterative measurements and the interpretation of the data gathered. For ®ne grained analysis often hardware performance counters are monitored. Since compiler instrumentation augments the program with calls to a measurement system, it interacts with compiler optimizations. Curre...
متن کاملElicitation and Utilization of Utility Functions for the Self-assessment of Autonomic Applications
We present a non-analytic approach to selfassessment for Autonomic Computing. Our approach leverages utility functions, at the level of an autonomic application, or even a single task or feature being exercised within that application. This paper describes the fundamental steps of our approach: instrumentation of the application; collection of exhaustive samples of runtime data about relevant q...
متن کاملBinary Instrumentation for Scalable Performance Measurement of OpenMP Applications
In this paper we present a binary instrumentation methodology to monitor runtime events. We demonstrate our approach on OpenMP constructs for the Intel and GNU compilers. A binary-level static analysis detects the compiler patterns and the runtime function calls corresponding to OpenMP regions. To this effect we integrate the software tool MAQAO with the scalable measurement infrastructure Scor...
متن کاملC/C++ Runtime Error Detection Using Source Code Instrumentation
The detection and removal of software errors is an expensive component of the total software development cost. Especially hard to remove errors are those which occur during the execution of a program, so called runtime errors. Therefore tools are needed to detect these errors reliably and give the programmer a good hint how to fix the problem. In the first part of the thesis different types of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012